import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './plugins/element.js'
import axios from "axios"  // 导入axios!
import dayjs from "dayjs"  // 引入时间处理第三方模块dayjs
import TreeTable from 'vue-table-with-tree-grid'  // 导入树形表格包

// 引入字体图标样式
import "./assets/fonts/iconfont.css"
// 引入全局样式
import "./style/index.css"
// 注册树形表格控件
Vue.component('tree-table', TreeTable)

// 全局挂载！ 
// 思路： 在Vue构造函数的原型对象上面增加属性，那么所有组件里面都可以直接读取获取到改属性
// 为什么： 组件实例的原型是Vue，Vue的原型上面有我们放的数据！
// Vue.prototype.$msg ="武哥很帅！"
// 设置默认基准请求地址！
const baseURL = "http://127.0.0.1:8888/api/private/v1/"
axios.defaults.baseURL = baseURL
axios.interceptors.request.use(function(config){
  if(config.url !== "login"){  // 不是登录页面，请求头需要携带token!
     const { token } = JSON.parse( sessionStorage.getItem("SHOP_USERINFO") )
    //  设置token给请求头 【设置的字段名，这里是Authorization，实际工作里面需要和后台沟通！】
    config.headers.Authorization = token
  }
  return config
},function(err){
  return Promise.reject(err) 
})
Vue.prototype.$axios = axios
Vue.prototype.$baseURL = baseURL

// 注册时间处理过滤器
Vue.filter("formateTime",(val,str="YYYY/MM/DD HH:MM:ss")=>{
  return dayjs(val*1000).format(str)
})



Vue.config.productionTip = false

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
